package com.gxa.service.controller;


import com.gxa.common.base.RespResult;
import com.gxa.service.dto.ServiceDetailsDto;
import com.gxa.service.service.ServicesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;

@RestController
@RequestMapping("/service")
public class ServiceController {
    @Autowired
    private ServicesService servicesService;

    /**
     * 添加服务
     * @return
     */
    @PostMapping("/addService")
    public RespResult addService(@RequestBody ServiceDetailsDto serviceDetailsDto){
        return servicesService.addService(serviceDetailsDto);
    }

    /**
     * 编辑服务
     * @return
     */
    @PostMapping("/updateService")
    public RespResult updateService(@RequestBody ServiceDetailsDto serviceDetailsDto){
        return servicesService.updateService(serviceDetailsDto);
    }


    /**
     * 根据服务id查服务
     * @param id
     * @return
     */
    @GetMapping("findServiceById")

    public RespResult findServiceById(Integer id){
        String name="123";
        return servicesService.findServiceById(id);
    }

    /**
     * 查所有服务
     * @return
     */
    @GetMapping("findService")
    public RespResult findService(Integer value,Integer currentPage,Integer pageSize){
        return servicesService.findService(value,currentPage,pageSize);
    }

//    /**
//     *根据服务类型查服务
//     * @param value
//     * @return
//     */
//    @GetMapping("findServiceByValue")
//    public RespResult findServiceById(String value,Integer currentPage,Integer pageSize){
//        return null;
//    }
    /**
     *根据服务时间查服务
     * @param
     * @return
     */
    @GetMapping("findServiceByTime")
    public RespResult findServiceByTime(String dataF,String dataL,Integer currentPage,Integer pageSize){
        return servicesService.findServiceByTime(dataF,dataL,currentPage,pageSize);
    }

    /**
     *推荐
     * (0推荐，1取消推荐）
     * @param
     * @return
     */
    @GetMapping("updateIsRecommend")
    public RespResult updateIsRecommend(Integer id,Integer isRecommend){
        return servicesService.updateIsRecommend(id,isRecommend);
    }

    /**
     *禁用/启用
     * (0启用，1禁用）
     * @param
     * @return
     */
    @GetMapping("updateState")
    public RespResult updateState(Integer id,Integer state){
        return servicesService.updateState(id,state);
    }

    /**
     * 查找服务类型
     * @return
     */
    @GetMapping("/findServiceType")
    public RespResult findServiceType(){
        return servicesService.findServiceType();
    }
    /**
     * 根据服务类型查找set服务
     * @return
     */
    @GetMapping("/findSetService")
    public RespResult findSetService(Integer id){
        return servicesService.findSetService(id);
    }

    /**
     * 上传图片
     * @param file
     * @param id
     * @param request
     * @param order  //第几张图片 1，2
     * @return
     */
    @PostMapping("/uploadServiceImg")
    public RespResult uploadServiceImg(@RequestParam("file") MultipartFile file, @RequestParam("id") Integer id, @RequestParam("order") Integer order, HttpServletRequest request){
        return servicesService.addServiceImg(file,id,order,request);
    }

//    redis分页
    @GetMapping("findService1")
    public RespResult findService1(Integer currentPage,Integer pageSize){
        return servicesService.findService1(currentPage,pageSize);
    }
}
